#   File:       Makefile.MPW
#   Targets:    All, Dynamic, Static (and Clean, Clean-All)
#   Created:    Tuesday, July 02, 2002
#
#   MPW Makefile for building expat under the "classic" (i.e. pre-X) Mac OS
#   Copyright � 2002 Daryle Walker
#   Portions Copyright � 2002 Thomas Wegner
#   See the COPYING file for distribution information
#
#   Description: 
#   This Makefile lets you build static, dynamic (i.e. shared) and stub 
#   versions of the expat library as well as the elements.c and outline.c 
#   examples (built as tools for MPW). This is for PPC only; it should be 
#   no problem to build a 68K version of the expat library, though.
#
# 	Usage: 
#			       Buildprogram All
#			 or    Buildprogram Dynamic
#			 or    Buildprogram Static
#
#   Note: You first have to rename this file to "Makefile", or the Buildprogram 
#         commando will not recognize it.
#

MAKEFILE        = Makefile
�MondoBuild�    = {MAKEFILE}  # Make blank to avoid rebuilds when makefile is modified

ObjDir          = :
SrcDir          = :
HdrDir          = :

ToolDir         = ::examples:

Includes        = -i {HdrDir}

Sym-PPC         = -sym off

Defines         = -d MACOS_CLASSIC

PPCCOptions     = {Includes} {Sym-PPC} -w 35 {Defines}

FragName        = libexpat


### Source Files ###

SrcFiles        =  �
				  "{SrcDir}xmlparse.c" �
				  "{SrcDir}xmlrole.c" �
				  "{SrcDir}xmltok.c"

ToolSrcFiles    =  �
				  "{ToolDir}elements.c" �
				  "{ToolDir}outline.c"


### Object Files ###

ObjFiles-PPC    =  �
				  "{ObjDir}xmlparse.c.o" �
				  "{ObjDir}xmlrole.c.o" �
				  "{ObjDir}xmltok.c.o"

ElementToolObjFile   =  "{ObjDir}elements.c.o"

OutlineToolObjFile   =  "{ObjDir}outline.c.o"


### Libraries ###

StLibFiles-PPC    =  �
				  "{PPCLibraries}StdCRuntime.o" �
				  "{PPCLibraries}PPCCRuntime.o" �
				  "{PPCLibraries}PPCToolLibs.o"

ShLibFiles-PPC    =  �
				  "{SharedLibraries}InterfaceLib" �
				  "{SharedLibraries}StdCLib" �
				  "{SharedLibraries}MathLib"

LibFiles-PPC    =  �
				  {StLibFiles-PPC} �
				  {ShLibFiles-PPC}


### Special Files ###

ExportFile      = "{ObjDir}{FragName}.exp"

StLibFile       = "{ObjDir}{FragName}.MrC.o"

ShLibFile       = "{ObjDir}{FragName}"

StubFile        = "{ObjDir}{FragName}.stub"

ElementsTool    = "{ToolDir}elements"

OutlineTool     = "{ToolDir}outline"


### Default Rules ###

.c.o  �  .c  {�MondoBuild�}
	{PPCC} {depDir}{default}.c -o {targDir}{default}.c.o {PPCCOptions}


### Build Rules ###

All  �  Dynamic {ElementsTool} {OutlineTool}

Static  �  {StLibFile}

Dynamic  �  Static {ShLibFile} {StubFile}

{StLibFile}  ��  {ObjFiles-PPC} {StLibFiles-PPC} {�MondoBuild�}
	PPCLink �
		-o {Targ} �
		{ObjFiles-PPC} �
		{StLibFiles-PPC} �
		{Sym-PPC} �
		-mf -d �
		-t 'XCOF' �
		-c 'MPS ' �
		-xm l

{ShLibFile}  ��  {StLibFile} {ShLibFiles-PPC} {ExportFile} {�MondoBuild�}
	PPCLink �
		-o {Targ} �
		{StLibFile} �
		{ShLibFiles-PPC} �
		{Sym-PPC} �
		-@export {ExportFile} �
		-fragname {FragName} �
		-mf -d �
		-t 'shlb' �
		-c '????' �
		-xm s

{StubFile}  ��  {ShLibFile} {�MondoBuild�}
	shlb2stub -o {Targ} {ShLibFile}

{ElementsTool}  ��  {ElementToolObjFile} {StubFile} {LibFiles-PPC} {�MondoBuild�}
	PPCLink �
		-o {Targ} �
		{ElementToolObjFile} �
		{StLibFile} �
		{LibFiles-PPC} �
		{Sym-PPC} �
		-mf -d �
		-t 'MPST' �
		-c 'MPS '

{OutlineTool}  ��  {OutlineToolObjFile} {StubFile} {LibFiles-PPC} {�MondoBuild�}
	PPCLink �
		-o {Targ} �
		{OutlineToolObjFile} �
		{StLibFile} �
		{LibFiles-PPC} �
		{Sym-PPC} �
		-mf -d �
		-t 'MPST' �
		-c 'MPS '


### Special Rules ###

{ExportFile}  ��  "{HdrDir}expat.h" {�MondoBuild�}
	StreamEdit -d �
		-e "/�('XMLPARSEAPI('�') ')�0,1�'XML_'([A-Za-z0-9_]+)�1'('/ Print 'XML_' �1" �
		"{HdrDir}expat.h" > {Targ}


### Required Dependencies ###

"{ObjDir}xmlparse.c.o"  �  "{SrcDir}xmlparse.c"
"{ObjDir}xmlrole.c.o"  �  "{SrcDir}xmlrole.c"
"{ObjDir}xmltok.c.o"  �  "{SrcDir}xmltok.c"

"{ObjDir}elements.c.o"  � "{ToolDir}elements.c"
"{ObjDir}outline.c.o"  � "{ToolDir}outline.c"


### Optional Dependencies ###
### Build this target to clean out generated intermediate files. ###

Clean  �
	Delete {ObjFiles-PPC} {ExportFile} {ElementToolObjFile} {OutlineToolObjFile}

### Build this target to clean out all generated files. ###

Clean-All  �  Clean
	Delete {StLibFile} {ShLibFile} {StubFile} {ElementsTool} {OutlineTool}

### Build this target to generate "include file" dependencies. ###

Dependencies  �  $OutOfDate
	MakeDepend �
		-append {MAKEFILE} �
		-ignore "{CIncludes}" �
		-objdir "{ObjDir}" �
		-objext .o �
		{Defines} �
		{Includes} �
		{SrcFiles}


